#  异常检测
try:
    1/0
except (ZeroDivisionError, ValueError):
    print("出错了")
else:
    print("没出错")
finally:
    print("111")

# 可指定具体错误（多个时用元组括起来，或者写多个except），也可以泛指(即不填)
# 使用这个可以跳出多层循环，与c语言goto语句类似
# 未捕获到异常时会执行else，无论捕获与否都会执行finally
# raise ZeroDivisionError("除数为0")  # 主动抛出异常
# raise ZeroDivisionError("除数为0") from ValueError  # 异常链
assert 1==0  # 当前面表达式不对时会抛出异常，常用于调试
